home *** CD-ROM | disk | FTP | other *** search
Wrap
/* File: IEResources.r Contains: QuickDraw GX to PostScript conversion code. this file contains the PostScript resources of the PostScript imaging engine Version: Technology: Quickdraw GX 1.1.x Copyright: © 1990-1998 by Apple Computer, Inc., all rights reserved. */ #include <Types.r> #include <DatabaseAccess.r> #include "GXToPSBuildConfig.h" #include "PSIEResources.h" #if USECONTROLRESOURCES resource kControlResType (kControlResId, sysHeap, purgeable) { "MobyDict", // dict name 0x00010000, // version 0, // revision 25 * 1024, // vmusage { kProcCopyRightNoticeID, dumpwidestring; kStartProcId, dumpwidestring; kStartProcIdL1+1, dumpwidestring; kStartProcIdL1+2, dumpwidestring; kStartProcIdL1+3, dumpwidestring; kStartProcIdL1+4, dumpwidestring; kStartProcIdL1+5, dumpwidestring; kStartProcIDL1+6, dumpwidestring; kStartProcIDL1+7, dumpwidestring; kStartProcIDL1+8, dumpwidestring; kLastProcID, dumpwidestring; }; }; resource kControlResType (kControlResIdPortable, sysHeap, purgeable) { "MobyDict Portable", // dict name 0x00010000, // version 0, // revision 30 * 1024, // vmusage { kProcCopyRightNoticeID, dumpwidestring; kRGBPatchProcID, dumpwidestring; // cexec patch for the RGB to Gray kStartProcId, dumpwidestring; kLevel2ColorProcID, dumpwidestring; // Portable color requires some of the same stuff as level-2 for response functions. kPortableColorProcID, dumpwidestring; kStartProcIdL1+1, dumpwidestring; kStartProcIdL1+2, dumpwidestring; kStartProcIdL1+3, dumpwidestring; kStartProcIdL1+4, dumpwidestring; kStartProcIdL1+5, dumpwidestring; kStartProcIDL1+6, dumpwidestring; kStartProcIDL1+7, dumpwidestring; kStartProcIDL1+8, dumpwidestring; kLastProcID, dumpwidestring; }; }; resource kControlResType (kControlResIDL2Color, sysHeap, purgeable) { "MobyDict Level2 Color", // dict name 0x00010000, // version 0, // revision 25 * 1024, // vmusage { kProcCopyRightNoticeID, dumpwidestring; kStartProcId, dumpwidestring; kLevel2ColorProcID, dumpwidestring; kStartProcIdL1+1, dumpwidestring; kStartProcIdL1+2, dumpwidestring; kStartProcIdL1+3, dumpwidestring; kStartProcIdL1+4, dumpwidestring; kStartProcIdL1+5, dumpwidestring; kStartProcIDL1+6, dumpwidestring; kStartProcIDL1+7, dumpwidestring; kStartProcIDL1+8, dumpwidestring; kLastProcID, dumpwidestring; }; }; #endif resource 'wstr' (kProcCopyRightNoticeID, sysHeap, purgeable) { #if DEBUGLEVEL>1 "%-\n" "%- QuickDraw GX PostScript Imaging Engine Procedure Set\n" "%- Copyright © Apple Computer, Inc. 1991, 1992, 1993, 1994, 1995\n" "%- All rights reserved\n" "%-\n" #endif /* Old app compatability LaserPrep definitions - into userdict */ /* the name 'gxPageSave' must be kept in sync with PostScript driver */ /* The bu operator makes sure the CTM is maintained to increase compatibility */ #if DEBUGLEVEL>1 "%- Definitions from LaserPrep for compatability\n" #endif "userdict begin\n" "/bu {Moby /PortMapping get aload pop matrix currentmatrix aload pop userdict begin gxPageSave end restore matrix astore setmatrix Moby /PortMapping get astore pop} def\n" "/bn {userdict begin /gxPageSave save store end} def\n" /* using store assumes driver did the page save */ "/T true def\n" /* some apps even are so bold as to assume these are defined */ "/F false def\n" "/por true def\n" /* Some apps expects looks at this to see if portrait or landscape, we'll always landscape*/ /****** Make an MD, some apps expect it. Make it have 30 places free because we are going to have it on the top of the dictionary stack when synonyms are being executed. The reason we need 30 places is becuase some apps emit postscript that does "defs" without setting the current dictionary to their own - they are assuming the current dictionary has free space in it. The number 30 comes from the fact that in the LW8 driver there are 30 free spots in md. ******/ "/md 30 dict def\n" "end\n" "userdict begin /Moby 225 dict def end \n" /* make dictionary for Imaging Engine proc-set */ "userdict /Moby get begin\n" /* put it on top of dict stack */ /* packing procedures on and off */ "/PackOn {systemdict /setpacking known {true setpacking} if} def\n" "/PackOff {systemdict /setpacking known {false setpacking} if} def\n" /* Abbreviations */ "/Mt /moveto load def\n" "/Rm /rmoveto load def\n" "/Rl /rlineto load def\n" "/Cp /closepath load def\n" "/Rc /rcurveto load def\n" "/Lt /lineto load def\n" "/Ct /curveto load def\n" "/St /stroke load def\n" "/Fi /fill load def\n" "/Eo /eofill load def\n" /* Language level check */ "systemdict /languagelevel known not {/languagelevel 1 def} if\n" /* turn packing on for download of procset */ "PackOn\n" }; resource 'wstr' (kLastProcID, sysHeap, purgeable) { #if DEBUGLEVEL>1 "%- Remove Moby Dict from dictionary stack\n" #endif "PackOff\n" /* leave packing off for now, breaks Multi-Master fonts otherwise */ "end\n" }; #ifdef USERGBPATCH // This patch is for old level-1 68k printers, // probably not worth spending the time now. resource 'wstr' (kRGBPatchProcID, sysHeap, purgeable) { #include "RGBBufferToGray.rsrc" }; #endif resource 'STR#' (kScriptResID, sysHeap, purgeable) { { /* kOurDictOnStack */ "\n userdict /Moby get begin\n"; /* kOurDictOffStack */ "\n end\n"; #if DEBUGLEVEL>1 /* kInitcomment */ "%- %s Initial Printer State:\n"; #else ""; #endif /* kSetLineWidth */ "%f setlinewidth\n"; /* kSetMiterLim */ "%f setmiterlimit\n"; /* kSetLineCap */ "%d setlinecap\n"; /* kSetFlat */ "%f setflat\n"; /* kSetLineJoin */ "%d setlinejoin\n"; /* kFillKey */ "/%q "; /* kQD2Fill */ "QD2Fill\n"; /* kRectPoints */ "%p %p\n"; /* kRectFill */ "RF\n"; /* kRectStroke */ "RStr\n"; /* kRectPath */ "RP\n"; /* kMoveto */ "%p Mt\n"; /* kRmoveto */ "%p Rm\n"; /* kRlineto */ "%p Rl\n"; /* kClosepath */ "Cp\n"; /* kPointPath */ "%p Pnt\n"; /* kFullPath */ "FullPath\n"; /* kEmptyPath */ "EmptyPath\n"; /* kShow */ "(%s) show\n"; /* khShow */ "<%h> show\n"; /* kSelectFont */ "/%s %f SFy\n"; /* kDoPoint */ "%p\n"; /* kDoFixed */ "%f\n"; /* kDoString */ "%s\n"; /* kDoBoolean */ "%b\n"; /* kDoInt */ "%d\n"; /* kDoMapping */ "%f %f %f %f %f %f %d MakMatrix\n"; /* kKshow */ "/KshowAbsPos load (%s) GXkshow\n"; /* khKshow */ "/KshowAbsPos load <%h> GXkshow\n"; /* kKshowH */ "/KshowAbsPosH load (%s) GXkshow pop\n"; /* khKshowH */ "/KshowAbsPosH load <%h> GXkshow pop\n"; /* kKshowV */ "/KshowAbsPosV load (%s) GXkshow pop\n"; /* khKshowV */ "/KshowAbsPosV load <%h> GXkshow pop\n"; /* kAshow */ "(%s) CnstDltShw\n"; /* khAshow */ "<%h> CnstDltShw\n"; /* kKshowRH */ "/KshowDeltaH load (%s) GXkshow pop\n"; /* khKshowRH */ "/KshowDeltaH load <%h> GXkshow pop\n"; /* kKshowRV */ "/KshowDeltaV load (%s) GXkshow pop\n"; /* khKshowRV */ "/KshowDeltaV load <%h> GXkshow pop\n"; /* kKshowR */ "/KshowDelta load (%s) GXkshow\n"; /* khKshowR */ "/KshowDelta load <%h> GXkshow\n"; /* kRcurveto */ "%p %p %p Rc\n"; /* kSetRGBColor */ "%f %f %f GXSetRGBColor\n"; /* kSetGray */ "%f setgray\n"; /* kSetCMYKColor */ "%f %f %f %f setcmykcolor\n"; /* kMapCTM */ "%f %f %f %f %f %f %d MapCTM\n"; /* kGsave */ "gsave\n"; /* kQD2Grestore */ "QD2Grestore\n"; /* kRectClip */ "RCl\n"; /* kQD2Clip */ "QD2Clip\n"; /* kImage */ "%d %d %d %d %p %b %d DoBitmap\n"; /* kIndexedImage */ "%d %d %d %p %b %d DoIndexedBitmap\n"; /* kIndexedBitProc */ "{%d %d %d %p DrawIndexedBitmapStrings}\n"; /* kL2Image */ "%d %d %d %p %b DoLevel2ColorImage\n"; /* kMakeDashDict */ "%b %b %b %f %f %f MakeDashDict\n"; /* kSetDash */ "SetDash\n"; /* kDoNull */ "null\n"; /* kDoPop */ "pop\n"; /* kSetFrame */ "%d SetFrame\n"; /* kSetRightIsOut */ "%b SetRightIsOut\n"; /* kSetPattern */ "SetPat\n"; /* kMakePatDict */ "%p %p %p %b %b MakePatternDict\n"; /* kMakeBitStrings */ "%b %d MakeBitmapStrings\n"; /* kBitmapProc */ "{%d %d %d %d %p DrawBitmapString}\n"; /* kMakeShapeDict */ "%f %f %f %f /%s MakeShapeDict\n"; /* k1bitBitmap */ "%d %d %p %b %d Do1bitBitmap\n"; /* k1bitBitmapPSRS */ "%d %d %p %b %d %f %f %f %f %f %f %d MakMatrix Do1bitBitmap\n"; // for rasterized shapes. /* k1bitBitmapProc */ "{%d %d %p Draw1bitBitmapString}\n"; /* kL2BitmapProc */ "{%d %d %d %p DoLevel2ColorImageString}\n"; /* kNewArray */ "%d array 0\n"; // Create array leve it and 0 on stack. /* kPutFixed */ "%f PtNx\n"; // Put fixed into next array element Leaves array on stack. /* kPutInt */ "%d PtNx\n"; // Put integer into next array element, Leaves array on stack. /* kMakeColorSet */ "%d CreateColorSet\n"; /* kSetColorSet */ "SetColorSet\n"; /* kSetOrMode */ "%d SetOrMode\n"; /* kMakeStyleDict */ "MakeStyleDict\n"; /* kMakeTrDict */ "MakeTrDict\n"; /* k3minus1Roll */ "3 -1 roll\n"; /* kFaceFontName */ "/%q\n"; /* kFindFont */ "/%q findfont\n"; /* kSetBaseFont */ "dup SetBaseFont\n"; /* kTextFaceFont */ "MakeLayeredFont\n"; /* kMakeSimpleLayeredFont */ "MakeSimpleLayeredFont\n"; /* kCurrBaseFont */ "CurrBaseFont\n"; /* kDoBBox */ "[%f %f %f %f]\n"; /* kTangentFont */ "%f %f %f %f SFt\n"; /* kMakeLayerDict */ "MakeLayerDict\n"; /* Just Leave packing off for now, breaks Adobe stuff */ #if DEBUGLEVEL>1 /* kBeginPSSyn */ "% PackOff %- Begin PostScript Synonym\n"; /* turn packing off for app PostScript */ /* kEndPSSyn */ "\n% PackOn %- End PostScript Synonym, #tags was: %d, flags: %d\n"; /* turn packing off for app PostScript */ #else /* kBeginPSSyn */ ""; /* turn packing off for app PostScript */ /* kEndPSSyn */ "\n"; /* turn packing off for app PostScript */ #endif /* kDoSave */ "save\n"; /* kDoRestore */ "\nrestore\n"; /* kXYshow */ "(%s) exch xyshow\n"; /* khXYshow */ "<%h> exch xyshow\n"; /* kXshow */ "(%s) exch xshow\n"; /* khXshow */ "<%h> exch xshow\n"; /* kYshow */ "(%s) exch yshow\n"; /* khYshow */ "<%h> exch yshow\n"; /* kDoScreenParams */ "%f %f %q\n"; /* kSetHalftone */ "%d SetHalftoneParams\n"; /* kSetDefaultScreen*/ "SetDefaultHalftone\n"; /* kDefineDefaultScreen*/ "DefineDefaultHalftone\n"; /* kFill */ "Fi\n"; /* kEofill */ "Eo\n"; /* kStroke */ "St\n"; /* kLineto */ "%p Lt\n"; /* kCurveto */ "%p %p %p Ct\n"; /* kRectPointsAbs */ "%p %f %f sub %f %f sub\n"; /* topLeft right left sub bottom top sub */ /* kMakeXYZSpace */ "%f %f %f %f %f %f MakeXYZSpace\n"; /* white black */ /* kMakeCSDict */ "MakeCSDict\n"; /* CSA intent are input, makes a dictionary for the color space */ /* kSetColorSpace */ "GXSetCSpace\n"; /* kSetColorF */ "%f %f %f setcolor\n"; /* kMakeCalRGBSpace */ "%f %f %f\n%f %f %f\n%f %f %f\n%f %f %f\n%f %f %f MakeCalibratedRGBSpace\n"; /*r g b w k */ /* kMakeResponseFunc*/ "MakeResponseFunction\n"; /* kDefineCRD */ "%q exch /ColorRendering defineresource pop\n"; /* note, the name here will already have a slash preceeding it */ /* kUndefineCRD */ "%q /ColorRendering undefineresource\n"; /* knilStyleDict */ "nilStyleDict\n"; /* kSetPortableColorSpace*/ "SetPortableColorSpace\n"; /* kIdentityProc */ "{}\n"; /* kSavePortMapping */ "PortMapping currentmatrix GridMatrix\n"; /* kMDBegin */ "userdict /md get begin\n"; /* kMDEnd */ "end % md\n"; /* kSetGlobalVM */ "currentglobal %b setglobal\n"; /* set the global VM state to the boolean, leave original value on stack */ /* kRestoreGlobalVM */ "setglobal\n" ; /* Just set it to the value on the stack */ } };